Technote 1113

Customizing Desktop Printer Utility


ñ⁄éü

ÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^ÉÜÅ[ÉeÉBÉäÉeÉBÇÃÉJÉXÉ^É}ÉCÉY

• 'CsDs'ÉäÉ\Å[ÉXDžǬǢǃ

• ÉqÉìÉgÉäÉ\Å[ÉXDžǬǢǃ

ÉJÉXÉ^ÉÄDTPÇÃÉTÉìÉvÉã

óvñÒ
ç°ÇÃLaserWriter 8ÇÃÉvÉäÉìÉ^ÉÇÉfÉãÇ≈ÇÕÅAAppleTalkÉlÉbÉgÉèÅ[ÉNè„ÅiLocalTalkñîÇÕAppleTalkÅjÇÃÉfÉoÉCÉXÇÃíÜÇ≈ÅANBPéÌï Ç™ÅuLaserWriterÅvÇÃLJÇÃÇ™ÉZÉåÉNÉ^Ç…åªÇÌÇÍÇ‹Ç∑ÅBÉÜÅ[ÉUÇ™LaserWriterÉvÉäÉìÉ^ÇëIÇ‘ÇΔÅALaserWriter 8ÇÕFinderÇ…Apple eventÇëóÇËÅAÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^Çê∂ê¨ÇµÇ‹Ç∑ÅBëΩÇ≠ÇÃÉÜÅ[ÉUÇ…éÊǡǃÅAåªç›ÇÃÉvÉäÉìÉ^ÉÇÉfÉãÇÃédólÇÕè\ï™Ç»Ç‡ÇÃÇΔåæÇ¶Ç‹Ç∑ÅBǵǩǵÅALJǡÇΔè_ìÓÇ»ÉfÉXÉNÉgÉbÉvÉvÉäÉìÉeÉBÉìÉOÉÇÉfÉãÇóvãÅÇ∑ÇÈê∫LJdžǡÇΩÇΩÇflÅAÉAÉbÉvÉãÉRÉìÉsÉÖÅ[É^ÇÕêVǵǢã@î\ÇîıǶÇΩLaserWriter 8.5.1ÇÉäÉäÅ[ÉXÇ∑ÇÈDZÇΔÇ…Ç»ÇËNjǵÇΩÅBDZÇÍÇ…ä÷òAǵǃÅAÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^ÇÃólÅXÇ»ã@î\ÇégǢDZǻÇ∑ÇΩÇflÇÃÉAÉvÉäÉPÅ[ÉVÉáÉìÅiÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^ÉÜÅ[ÉeÉBÉäÉeÉBÅjLJÉäÉäÅ[ÉXÇ≥ÇÍNjǵÇΩÅBç°Ç‹Ç≈ÇÃAppleTalkÇÃPAPÉvÉçÉgÉRÉãÇ…â¡Ç¶ÇƒÅAUnixÇÃlprÉvÉçÉgÉRÉãÇ…ëŒâûǵÇΩÉvÉäÉìÉ^LJégǶÇÈÇÊǧDžǻÇËNjǵÇΩÅBÇ‹ÇΩÅAÉçÅ[ÉJÉãÉvÉäÉìÉgÉLÉÖÅ[Çé¿åªÇ∑ÇÈHoldå^Ç‚é¿ë∂ǵǻǢVirtualå^ÇÃÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^LJçÏê¨Ç≈Ç´ÇÈÇÊǧDžǻÇËNjǵÇΩÅB


è„ãLÇÃêVã@î\Ç…â¡Ç¶ÇƒÅAÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^ÉÜÅ[ÉeÉBÉäÉeÉBÇÕÉJÉXÉ^É}ÉCÉYÇ™â¬î\Ç≈Ç∑ÅBLaserWriter 8.5.1ÇΔÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^ÉÜÅ[ÉeÉBÉäÉeÉBÇÕã§Ç…ÉJÉXÉ^ÉÄDTPÅiÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^ÅjÇÉTÉ|Å[ÉgǵǃǢNjÇ∑ÅBÉJÉXÉ^ÉÄDTPÇ…àÛç¸ÇÇ∑ÇÈÇΔÅALaserWriter 8.5.1ÉhÉâÉCÉoÇÕPostScriptÉtÉ@ÉCÉãÇèoóÕǵǃÅAå„èàóùÇÃÇΩÇflÅAê∂ê¨ÇµÇΩPostScriptÉtÉ@ÉCÉãÇì¡íËÇÃÉAÉvÉäÉPÅ[ÉVÉáÉìÇ…ìnǵNjÇ∑ÅBãNìÆÇ≥ÇÍÇΩÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕÇ«ÇÒÇ»ÉAÉNÉVÉáÉìÇéÊǡǃLJç\ǢNjÇπÇÒÅBPostScriptÉtÉ@ÉCÉãÇëºÇÃå`éÆÇ…ïœä∑ǵÇΩÇËÅAÉÇÉfÉÄÇ‚ÉlÉbÉgÉèÅ[ÉNÇ≈ì]ëóǵÇΩÇËÅAâÊñ è„Ç…ï\é¶Ç∑ÇÈDZÇΔLJâ¬î\Ç≈Ç∑ÅBDZÇÃÉeÉbÉNÉmÅ[ÉgÇ≈ÇÕÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^ÉÜÅ[ÉeÉBÉäÉeÉBÇÃÉJÉXÉ^É}ÉCÉYDžǬǢǃâê‡ÇǵNjÇ∑ÅB

ÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^ÉÜÅ[ÉeÉBÉäÉeÉBÇÃÉJÉXÉ^É}ÉCÉY

ÉJÉXÉ^ÉÄDTPÇÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^ÉÜÅ[ÉeÉBÉäÉeÉBÇ…îFéØÇ≥ÇπÇÈÇ…ÇÕÅAÉÜÅ[ÉeÉBÉäÉeÉBÇÃÉäÉ\Å[ÉXÉtÉHÅ[ÉNÇ…ì¡íËÇÃÉäÉ\Å[ÉXÇâ¡Ç¶Ç»ÇØÇÍnjǻÇËÇ‹ÇπÇÒÅBÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^ÉÜÅ[ÉeÉBÉäÉeÉBÇÕDZÇÃçÏãΔÇä»íPÇ…Ç∑ÇÈÇΩÇflÇ…ólÅXÇ»ÉeÉìÉvÉåÅ[ÉgÇä‹ÇÒÇ≈ǢNjÇ∑ÅB

'CsDs'ÅiCustomDTPResourceÅjÉäÉ\Å[ÉX

ÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^ÉÜÅ[ÉeÉBÉäÉeÉBÇÉJÉXÉ^É}ÉCÉYÇ∑ÇÈÇ…ÇÕÅA'CsDs'ÅiCustomDTPResourceÅjÉäÉ\Å[ÉXÇí«â¡ÇµÇ‹Ç∑ÅBLaserWriterÇÕDZÇÃèÓïÒÇéQèΔǵǃÅAãNìÆÇ∑ÇÈÉAÉvÉäÉPÅ[ÉVÉáÉìÇì¡íËǵNjÇ∑ÅB

ÉäÉ\Å[ÉXÇÃíËã`ÇÕà»â∫Ç…é¶Ç∑'CustomAppDesc'ç\ë¢ëÃÇ≈Ç∑ÅB
#define kVariableLen 1

struct CustomAppDesc {
        OSType appSignature;
        Str255 docType;
        Str255 helpText;
        Str255 usage;
        Str255 appFileName;
        short numOfHintsFollow;
        HintRsrcSpec hintRsrc[kVariableLen];
}

typedef struct CustomAppDesc CustomAppDesc;


appSignature: ãNìÆÇ∑ÇÈÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃÉNÉäÉGÅ[É^É^ÉCÉvÅBÉAÉvÉäÉPÅ[ÉVÉáÉìÇì¡íËÇ∑ÇÈç€Ç…ÅALaserWriterÉhÉâÉCÉoÇÕÇ∑Ç◊ǃÇÃÉ}ÉEÉìÉgÇ≥ÇÍǃǢÇÈÉ{ÉäÉÖÅ[ÉÄÇåüçıǵNjÇ∑ÅB

docType: ÉJÉXÉ^ÉÄDTPÇÃéÌï Çé¶Ç∑ï∂éöóÒÅBDZÇÃï∂éöóÒÇÕêVãKçÏê¨éûÇ…ÉäÉXÉgÇ…ï\é¶Ç≥ÇÍÇ‹Ç∑ÅBê}1Ç≈ÇÕDZÇÃï∂éöóÒÇ™ëIëÇ≥ÇÍǃǢNjÇ∑ÅB

helpText: ÉJÉXÉ^ÉÄDTPÇÃê‡ñæï∂ÅBDZÇÃï∂éöóÒÇÕêVãKçÏê¨É_ÉCÉAÉçÉOÇÃâ∫Ç…ï\é¶Ç≥ÇÍÇ‹Ç∑ÅBê}1Ç≈ÇÕÅuCustom DTP Example Help TextÅvÇΔǻǡǃǢNjÇ∑ÅB

usage: ÉJÉXÉ^ÉÄDTPÇóòópǵÇΩéûÇ…ï\é¶Ç≥ÇÍÇÈï∂éöóÒÅBê}2Ç≈ÇÕÅuCustom DTP Example Usage stringÅvÇΔǻǡǃǢNjÇ∑ÅB

appFileName: ãNìÆÇ∑ÇÈÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃñºèÃÅBÉAÉvÉäÉPÅ[ÉVÉáÉìÇì¡íËÇ∑ÇÈç€Ç…LaserWriterÉhÉâÉCÉoÇÕDZÇÃèÓïÒÇóòópǵNjÇ∑ÅBÇ‹ÇΩÅADZÇÃï∂éöóÒÇÕÉGÉâÅ[ÉÅÉbÉZÅ[ÉWÇï\é¶Ç∑ÇÈç€Ç…LJégÇÌÇÍÇ‹Ç∑ÅBÅió·ÅFSurfWriter could not be launched due to insufficient memoryÅBÅj

numOfHintsFollow: ë±Ç≠hintRsrcÇ…ä‹Ç‹ÇÍǃǢÇÈÉqÉìÉgêîÅBè⁄ǵÇ≠ÇÕÉqÉìÉgÉäÉ\Å[ÉXÇÃê‡ñæÇÇ≤óóâ∫Ç≥Ç¢ÅB

hintRsrc: ÉhÉâÉCÉoÇ™ê∂ê¨Ç∑ÇÈPostScriptÇÃÉqÉìÉgÇÃîzóÒÅBè⁄ǵÇ≠ÇÕÉqÉìÉgÉäÉ\Å[ÉXÇÃê‡ñæÇÇ≤óóâ∫Ç≥Ç¢ÅB

ê}1


ê}2



ÉqÉìÉgÉäÉ\Å[ÉXÅiÉIÉvÉVÉáÉìÅjDžǬǢǃ

èoóÕÇ∑ÇÈPostScriptDžǬǢǃÅACustomDTPResourceÇ≈ólÅXÇ»ÉqÉìÉgÇ™éwíËÇ≈Ç´Ç‹Ç∑ÅBCustomDTPResourceÇÃnumOfHintsFollowÉtÉBÅ[ÉãÉhÇ≈ÇÕÉqÉìÉgÇÃëçêîÇéwíËǵNjÇ∑ÅBäeÉqÉìÉgÇ…ä÷Ç∑ÇÈèÓïÒÇÕà»â∫ÇÃç\ë¢ëÃÇ©ÇÁǻǡǃǮÇËÅAîzóÒÇΔǵǃCustomDTPResourceÇ…ì¸ÇËÇ‹Ç∑ÅB
struct HintRsrcSpec {
        OSType rsrcType;
        short rsrcID;
};

typedef struct HintRsrcSpec HintRsrcSpec;


äeÉqÉìÉgÇÕì¡íËÇÃÉäÉ\Å[ÉXÇéQèΔǵNjÇ∑ÅBà»â∫Ç…åªç›ÉTÉ|Å[ÉgÇ≥ÇÍǃǢÇÈÉqÉìÉgÇè–âÓǵNjÇ∑ÅB

PostScriptÉåÉxÉã

PostScriptÉtÉ@ÉCÉãÇÃå„èàóùÇçsǧÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕì¡íËÇÃPostScriptÉåÉxÉãÇïKóvÇΔÇ∑ÇÈèÍçáǙdžÇËÇ‹Ç∑ÅB'pslv'ÉqÉìÉgÇ≈ÇÕèoóÕÇ…égÇÌÇÍÇÈPostScriptÉåÉxÉãÇéwíËÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB

ÉäÉ\Å[ÉXÉ^ÉCÉvÅF'PSlv'
typedef struct {
    OSType hintType;        //Å@'pslv'ÉqÉìÉg
    long hintId;            //Å@1ÇéwíËǵNjÇ∑
    long psLevel;
} PSlvResource;

#define kHintLanguageLevelTag 'pslv'
#define kHintLanguageLevelId 1


åªç›psLevelÇ≈éwíËÇ≈Ç´ÇÈílÇÕà»â∫ÇÃí ÇËÇ≈Ç∑ÅB
-3Å@Å@Å@Å@ÉåÉxÉã2ÇΔÉåÉxÉã3
-2Å@Å@Å@Å@ÉåÉxÉã1ÇΔÉåÉxÉã2
-1Å@Å@Å@Å@ÉåÉxÉãïsñæ
 0Å@Å@Å@Å@ǪÇÃëºÇÃÉåÉxÉãÅ@Å@Å@Å@//Å@DZÇÃílÇÕégópǵǻǢÇ≈â∫Ç≥Ç¢
 1Å@Å@Å@Å@ÉåÉxÉã1
 2Å@Å@Å@Å@ÉåÉxÉã2
 3Å@Å@Å@Å@ÉåÉxÉã3

íçÅF
-3ÇÕPostScriptÉåÉxÉã2ãyÇ—ÉåÉxÉã3ÇèoóÕǵNjÇ∑ÇÃÇ≈ÅAÉåÉxÉã1ÇÃèoóÕëïíuÇ≈ÇÕégópÇ≈ǴǻǢDZÇΔǙdžÇËÇ‹Ç∑ÅB-2ÇÕÉåÉxÉã1ÅAÉåÉxÉã2ÅAÉåÉxÉã3ÇÃÇ∑Ç◊ǃÇÃPostScriptëïíuÇ≈égópÇ≈Ç´ÇÈèoóÕÇçsǢNjÇ∑ÅB



ÉoÉCÉiÉäÉfÅ[É^

DZÇÃÉqÉìÉgÇégǧÇΔÅAèoóÕÇ…ÉoÉCÉiÉäÉfÅ[É^Ç™ä‹Ç‹ÇÍÇÈDZÇΔÇãñâ¬ñîÇÕãëî€Ç≈Ç´Ç‹Ç∑ÅB

ÉäÉ\Å[ÉXÉ^ÉCÉvÅF'BNok'
typedef struct {
    OSType hintType;        //Å@'bnok'ÉqÉìÉg
    long hintId;            //Å@1ÇéwíËǵNjÇ∑
    TriState binaryOK;
} BNokResource;

#define kHintADOIsBinaryOKTag 'bnok'
#define kHintADOIsBinaryOKId 1


binaryOKÉtÉBÅ[ÉãÉhÇ≈ÇÕÉoÉCÉiÉäÉfÅ[É^Çãñâ¬Ç∑ÇÈǩǫǧǩÇà»â∫ÇÃílÇégǡǃéwíËǵNjÇ∑ÅB
0Å@Å@Å@Å@ãñâ¬ÇµÇ»Ç¢
1Å@Å@Å@Å@ãñâ¬Ç∑ÇÈ
2Å@Å@Å@Å@ïsñæÅ@Å@Å@Å@//Å@DZÇÃílÇÕégópǵǻǢÇ≈â∫Ç≥Ç¢

íçÅF
ïsñæÇÃílÇÕè´óàÇÃÇΩÇflÇ…íËã`ǵǃdžÇËÇ‹Ç∑ÅBDTPÇ≈ÇÕéwíËǵǻǢÇ≈â∫Ç≥Ç¢ÅB


ÉWÉáÉuéÌï 

DZÇÃÉqÉìÉgÇÕèoóÕÇ∑ÇÈPostScriptÇÃå`éÆÇéwíËǵNjÇ∑ÅB

ÉäÉ\Å[ÉXÉ^ÉCÉvÅF'JObt'
typedef struct {
    OSType hintType;        //Å@'jobt'ÉqÉìÉg
    long hintId;            //Å@1ÇéwíËǵNjÇ∑
    char jobType;
} BNokResource;

#define kHintJobTypeTag 'jobt'
#define kHintJobTypeId 1


jobTypeÇ≈éwíËÇ≈Ç´ÇÈPostScriptÇÃèoóÕå`éÆÇÕ2ǬdžÇËÇ‹Ç∑ÅB
0Å@Å@Å@Å@psJobPostScript
1Å@Å@Å@Å@psJobEPSNoPreview



ÉtÉHÉìÉgÇÃèàóù

DZÇÃÉqÉìÉgÇ≈ÇÕèoóÕÉtÉ@ÉCÉãÇ…ÉtÉHÉìÉgèÓïÒÇä‹Çfiç€ÇÃÉhÉâÉCÉoÇÃìÆçÏÇ™éwíËÇ≈Ç´Ç‹Ç∑ÅBDZÇÃÉqÉìÉgÇÕ4ÉoÉCÉgÇÃÉtÉâÉOÇ…ë±Ç¢ÇƒÅAèIí[Ç…NULLÇâ¡Ç¶ÇΩï∂éöóÒÇÃîzóÒÇ©ÇÁǻǡǃǢNjÇ∑ÅB

ÉäÉ\Å[ÉXÉ^ÉCÉvÅF'FOnt'
typedef struct {
    OSType hintType;        //Å@'font'ÉqÉìÉg
    long hintId;            //Å@1ÇéwíËǵNjÇ∑
    long tag;
    unsigned char name [1];
} FOntResource;

#define kHintIncludeFontsTag 'font'
#define kHintIncludeFontsId 1


tagÇ≈éwíËÇ≈Ç´ÇÈílÇÕà»â∫ÇÃí ÇËÇ≈Ç∑ÅB
0Å@Å@Å@Å@kIncludeNoFontsOtherThan
1Å@Å@Å@Å@kIncludeAllFontsBut


kIncludeNoFontsOtherThanÇÃèÍçáÅAÉqÉìÉgÇ≈éwíËÇ≥ÇÍǃǢÇÈÉtÉHÉìÉgÇÃèÓïÒÇÃǛǙèoóÕÉtÉ@ÉCÉãÇ…ä‹Ç‹ÇÍÇ‹Ç∑ÅBÉtÉHÉìÉgÇ™àÍǬLJéwíËÇ≥ÇÍǃǢǻǢèÍçáÅAÉtÉHÉìÉgèÓïÒÇÕàÍêÿèoóÕÉtÉ@ÉCÉãÇ…ä‹Ç‹ÇÍÇ‹ÇπÇÒÅBkIncludeAllFontsButÇÃèÍçáÅAÉqÉìÉgÇ≈éwíËÇ≥ÇÍǃǢǻǢÉtÉHÉìÉgÇÃèÓïÒÇÃǛǙèoóÕÉtÉ@ÉCÉãÇ…ä‹Ç‹ÇÍÇ‹Ç∑ÅBÇ∑Ç◊ǃÇÃÉtÉHÉìÉgÇÃèÓïÒÇèoóÕÉtÉ@ÉCÉãÇ…ä‹ÇfiÇ…ÇÕÅAkIncludeAllFontsButÇéwíËǵǃÅAÉtÉHÉìÉgÇàÍǬLJéwíËǵNjÇπÇÒÅB


ÉJÉXÉ^ÉÄDTPÇÃÉTÉìÉvÉã

à»â∫ÇÃÉJÉXÉ^ÉÄDTPÇÕ'CsDs'ÇΔ'FOnt'ÉäÉ\Å[ÉXÇóòópǵǃÅAèoóÕÉtÉ@ÉCÉãÇ©ÇÁCourierÇΔHelveticaÇÃÉtÉHÉìÉgèÓïÒÇèúÇ´Ç‹Ç∑ÅBDZÇÃÉTÉìÉvÉãÇÕDTPÉÜÅ[ÉeÉBÉäÉeÉBǙǫÇÍÇŸÇ«ä»íPÇ…ÉJÉXÉ^É}ÉCÉYÇ≈Ç´ÇÈÇ©Çé¶Ç∑LJÇÃÇ≈Ç∑ÅB

Ç‹Ç∏ÅAÉqÉìÉgÉäÉ\Å[ÉXÇçÏê¨ÇµÇ‹Ç∑ÅBDZÇÃÉTÉìÉvÉãÇ≈ÇÕÉtÉHÉìÉgèÓïÒÇÃàµÇ¢ÇéwíËÇ∑ÇÈÇΩÇflÇÃ'FOnt'ÉäÉ\Å[ÉXÇí«â¡ÇµÇ‹ÇµÇΩÅB


éüÇÕ'CsDs'ÉäÉ\Å[ÉXÇï“èWǵǃÅAêÊÇŸÇ«çÏê¨ÇµÇΩÉqÉìÉgÇΔì¡íËÇÃDTPÇåãÇ—ïtÇØÇ‹Ç∑ÅB


à»è„Ç≈ÉJÉXÉ^ÉÄDTPÇ™äÆê¨ÇµÇ‹ÇµÇΩÅBDZÇÃÉJÉXÉ^ÉÄDTPÇÕCourierÇΔHelveticaà»äOÇÃÉtÉHÉìÉgèÓïÒÇä‹ÇfiPostScriptÉtÉ@ÉCÉãÇçÏê¨ÇµÇ‹Ç∑ÅB


ÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^ÉÜÅ[ÉeÉBÉäÉeÉBÇÃêßå¿

Mac OS 8.0ãyÇ—LaserWriter 8.5.1ÇÃäJî≠Ç™ïΩçsǵǃçsÇÌÇÍÇΩÇΩÇflÅALaserWriter 8.5.1Ç…ä‹Ç‹ÇÍǃǢÇÈDTPÉÜÅ[ÉeÉBÉäÉeÉB1.0ÇÕMac OS 8.0Ç≈óòópÇ≈Ç´Ç‹ÇπÇÒÅBéüä˙ÉäÉäÅ[ÉXMac OS 8.1Ç≈ÇÕñ‚ëËÇ»Ç≠égópÇ≈Ç´Ç‹Ç∑ÅB


ÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^ÉÜÅ[ÉeÉBÉäÉeÉBÇÃÉâÉCÉZÉìÉVÉìÉO

ÉAÉvÉäÉPÅ[ÉVÉáÉìÇΔàÍèèÇ…ÉJÉXÉ^ÉÄDTPÉÜÅ[ÉeÉBÉäÉeÉBÇèoâ◊Ç∑ÇÈèÍçáÇÕÅADTPÉÜÅ[ÉeÉBÉäÉeÉBÇÉâÉCÉZÉìÉXÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅBè⁄ç◊DžǬǢǃÇÕÉAÉbÉvÉãÉRÉìÉsÉÖÅ[É^ÇÃÉ\ÉtÉgÉEÉFÉAÉâÉCÉZÉìÉVÉìÉOÉOÉãÅ[ÉvÅisw.license@apple.comñîÇÕ512-919-2645ÅjÇ…ñ‚Ç¢çáÇÌÇπǃâ∫Ç≥Ç¢ÅB


óvñÒ

DZÇÃÉeÉbÉNÉmÅ[ÉgÇ≈ÇÕÉfÉXÉNÉgÉbÉvÉvÉäÉìÉ^ÉÜÅ[ÉeÉBÉäÉeÉBÇÃÉJÉXÉ^É}ÉCÉYï˚ñ@Çè⁄ǵÇ≠è–âÓǵNjǵÇΩÅBÇ∫Ç–àÍìxÇ®ééǵDžǻǡǃâ∫Ç≥Ç¢ÅB


éQçlï∂å£
ÅuTechnote 1112Å@LaserWriterÉhÉâÉCÉo8.5.1ÇÃè–âÓÅv

çXêVì˙: 1997 îN 11 åé 14 ì˙